A document dissemination system is generally designed to run multiple text queries against a single document, where each query is entered by a different user. The document is then presented to those users whose text queries were satisfied by the document. In contrast, a document retrieval system is generally designed to run a text query against a large database of documents. The documents that satisfy the text query are then presented to the user who entered the query.
To run a query against a large database of documents, a document retrieval system generally has three major components: an index, an indexing process, and a search process. The index is a representation of the searchable documents and is used to search the documents. The indexing process constructs the index and the search process uses the index to identify the documents that match a query.
Typically, a system with a more complex index is more efficient at search-time, but requires more processing to construct the index. Such a system is more efficient for an application with many more searches than indexing operations, while a system with a simpler index is more efficient if there are fewer searches relative to the number of indexing operations.